package ar.edu.unsam.algo3.plantasvszombies.dominio

import org.uqbar.commons.model.Entity

abstract class SerVivo  extends Entity{
	@Property String nombre
	@Property String descripcion
	@Property int defensa
	@Property int ataque
	@Property int salud

	new(){}

	new(String nombre, int defensa, int ataque, String descripcion) {
		this.nombre = nombre
		this.defensa = defensa
		this.salud = defensa
		this.ataque = ataque
		this.descripcion = descripcion
	}

	def void setDefensa(int defensa) {
		salud = defensa
		this._defensa = defensa
	}

	def boolean sigueVivo() {
		salud > 0
	}

	def void morir(Fila fila)

	def recibeAtaque(SerVivo contrincante) {
		salud = salud - contrincante.ataque
	}

	def atacar(SerVivo contrincante) {
		contrincante.recibeAtaque(this)
	}
}
